library(qs)
library(Seurat)
library(ggplot2)
library(dplyr)
library(forcats)
library(miloDE)
library(sessioninfo)
library(EnhancedVolcano)
library(scMisc)Reproducing the figures of the manuscript
Load libraries
Figure 1
UMAP of all cells (Figure 1B)
options(timeout = 3600)
if (!file.exists("umap_figure.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"umap_figure.qs"
)
}
umap_figure <- qread("umap_figure.qs")
DimPlot(
umap_figure,
reduction = "umap.scvi.full",
pt.size = .1,
alpha = .1,
cols = umap_figure@misc$cluster_col,
label = TRUE,
raster = FALSE
) +
NoLegend() +
theme(
axis.text = element_blank(),
axis.ticks = element_blank()
) +
xlab("UMAP_1") +
ylab("UMAP_2")Figure 2
UMAP immune cells (Figure 2A)
options(timeout = 3600)
if (!file.exists("ic_figure.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"ic_figure.qs"
)
}
ic_figure <- qread("ic_figure.qs")
DimPlot(
ic_figure,
reduction = "umap.rpca",
pt.size = .1,
alpha = .3,
cols = ic_figure@misc$ic_cluster_col,
label = TRUE,
raster = FALSE
) +
theme(
axis.text = element_blank(),
axis.ticks = element_blank()
) +
NoLegend() +
xlab("UMAP1") +
ylab("UMAP2")Feature plots immune cells (Figure 2B)
FeaturePlot(
ic_figure,
features = c("MS4A7", "CX3CR1", "TREM2", "LYVE1", "FOLR2", "TIMD4"),
reduction = "umap.rpca",
pt.size = 0.1,
raster = FALSE,
coord.fixed = TRUE,
cols = c("#F0F0F0", "#CB181D"),
order = TRUE,
ncol = 3
) &
theme(
axis.text = element_blank(),
axis.ticks = element_blank()
) &
xlab("UMAP1") &
ylab("UMAP2")Enrichment of gene ontology terms in Macro 18 (Figure 2C)
options(timeout = 3600)
if (!file.exists("enrichr_macro18.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"b_plasma_figure.qs"
)
}
enrichr_macro18 <- qread("enrichr_macro18.qs")
enrichr_macro18 |>
dplyr::slice_min(order_by = Adjusted.P.value, n = 10, with_ties = FALSE) |>
tidyr::separate(Overlap, into = c("overlap1", "overlap2")) |> # separate overlap in two columns
dplyr::mutate(Term = gsub(x = Term, pattern = "\\s\\(.+\\)", replacement = "")) |>
dplyr::mutate(overlap = as.numeric(overlap1) / as.numeric(overlap2)) |> # calculcate overlap
ggplot(aes(y = reorder(Term, -log10(Adjusted.P.value)), x = -log10(Adjusted.P.value))) +
geom_col(fill = scales::hue_pal()(5)[1]) +
labs(
x = "-Log10 Adjusted P value",
y = ""
) +
theme_classic() +
theme(legend.position = "none")Dot plot IGH chain genes (Figure 2E)
options(timeout = 3600)
if (!file.exists("ic_figure.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"b_plasma_figure.qs"
)
}
b_plasma_figure <- qread("b_plasma_figure.qs")
DotPlot(
b_plasma_figure,
features = c("IGHM", "IGHD", "IGHG1", "IGHG2", "IGHG3", "IGHG4", "IGHA1", "IGHA2"),
scale = FALSE,
dot.scale = 10
) +
viridis::scale_color_viridis(option = "viridis") +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5, face = "italic")) +
xlab("") +
ylab("")Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
Figure 3
Propeller abundance PNP vs CTRL (Figure 3A)
options(timeout = 3600)
if (!file.exists("propeller_PNP_CTRL.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"propeller_PNP_CTRL.qs"
)
}
if (!file.exists("propeller_PNP_CTRL.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"propeller_PNP_CTRL_ic.qs"
)
}
propeller_PNP_CTRL <- qread("propeller_PNP_CTRL.qs")
propeller_PNP_CTRL_ic <- qread("propeller_PNP_CTRL_ic.qs")
# function to plot custom dotplot
dotplotPropeller <- function(data, color, title) {
ggplot(data, aes(x = log2ratio, y = fct_reorder(cluster, log2ratio), color = cluster)) +
geom_point(size = 5) +
theme_classic() +
geom_vline(
xintercept = 0, color = "red",
linetype = "solid"
) +
scale_color_manual(values = color) +
xlab("Log2 fold change") +
ylab(NULL) +
theme(legend.position = "none") +
ggtitle(title)
}
dotplotPropeller(propeller_PNP_CTRL, color = umap_figure@misc$cluster_col, title = "PNP vs CTRL main clusters")dotplotPropeller(propeller_PNP_CTRL_ic, color = ic_figure@misc$ic_cluster_col, title = "PNP vs CTRL immune cells")Covarying Neighborhood Analysis (Figure 3B)
options(timeout = 3600)
if (!file.exists("cna_pnp_gratio_figure.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"cna_pnp_gratio_figure.qs"
)
}
if (!file.exists("cna_incat_figure.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"cna_incat_figure.qs"
)
}
cna_pnp_gratio_figure <- qread("cna_pnp_gratio_figure.qs")
cna_incat_figure <- qread("cna_incat_figure.qs")
# function to plot CNA feature plot
fplotCNA <- function(object, feature, title) {
FeaturePlot(
object,
reduction = "umap.scvi.full",
features = feature,
pt.size = 0.1,
order = FALSE,
coord.fixed = TRUE,
raster = FALSE,
alpha = 0.2
) +
scale_colour_gradient2(
low = "#2166AC",
mid = "white",
high = "#B2182B",
midpoint = 0,
) +
theme(
axis.text = element_blank(),
axis.ticks = element_blank(),
) +
labs(
title = title, color = "Correlation", x = "UMAP1", y= "UMAP2"
)
}
fplotCNA(cna_pnp_gratio_figure, "cna_ncorrs_pnp", title = "PNP")Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
fplotCNA(cna_incat_figure, "cna_ncorrs", title = "INCAT")Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
fplotCNA(cna_pnp_gratio_figure, "cna_ncorrs_gratio", title = "g-ratio")Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
Number of DEGs (Figure 3C)
options(timeout = 3600)
if (!file.exists("pnp_ctrl_pseudobulk_de.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"pnp_ctrl_pseudobulk_de.qs"
)
}
pnp_ctrl_pseudobulk <- qread("pnp_ctrl_pseudobulk_de.qs")
pnp_ctrl_pseudobulk |>
mutate(cluster = fct_reorder(cluster, n)) |>
ggplot(aes(x = cluster, y = n, fill = cluster)) +
geom_col() +
coord_flip() +
scale_fill_manual(values = umap_figure@misc$cluster_col) +
theme_classic() +
theme(legend.position = "none") +
labs(
x = "",
y = "",
title = "PNP vs CTRL"
)MiloDE DEGs (Figure 3D)
options(timeout = 3600)
if (!file.exists("milo_figure.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"milo_figure.qs"
)
}
milo_figure <- qread("milo_figure.qs")
plot_milo_by_single_metric(
milo_figure$obj,
milo_figure$stat,
colour_by = "n_DE_genes",
layout = "UMAP.SCVI.FULL",
size_range = c(0.5, 5),
edge_width = c(0.1, 1.0),
edge_weight.thres = 10
) +
viridis::scale_fill_viridis(name = "# DE genes", option = "inferno")Scale for fill is already present.
Adding another scale for fill, which will replace the existing scale.
Pseudobulk DE PNP vs CTRL (Figure 3E)
options(timeout = 3600)
if (!file.exists("de_pseudo_pnp_ctrl.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"de_pseudo_pnp_ctrl.qs"
)
}
de_pseudo_pnp_ctrl <- qread("de_pseudo_pnp_ctrl.qs")
# volcano plot function
volcanoPlot <- function(cluster, input, FCcutoff = 2, selectLab = NULL, drawConnectors = TRUE, condition1, condition2) {
input <- input[[cluster]]
volcano <- EnhancedVolcano::EnhancedVolcano(
data.frame(input),
lab = paste0("italic('", input[["gene"]], "')"),
x = "avg_logFC",
y = "p_val_adj",
xlim = c(min(input[["avg_logFC"]], max(input[["avg_logFC"]]))),
ylim = c(0, max(-log10(input[["p_val_adj"]]))),
pCutoff = 0.1,
FCcutoff = FCcutoff,
axisLabSize = 15,
pointSize = 2,
labSize = 5,
subtitle = NULL,
caption = NULL,
border = "full",
gridlines.major = FALSE,
gridlines.minor = FALSE,
drawConnectors = drawConnectors,
lengthConnectors = unit(0.0001, "npc"),
title = paste(condition1, "vs", condition2, "in ", cluster),
boxedLabels = TRUE,
selectLab = selectLab,
xlab = bquote(~ Log[2] ~ "fold change"),
ylab = bquote(~ -Log[10] ~ "adjusted p-value"),
parseLabels = TRUE,
legendLabels = c(
"NS", "logFC",
"p-val", "p-val + logFC"
),
legendPosition = "right",
)
}
# define clusters of interest
cluster_de <- c("mySC", "nmSC", "repairSC", "PC2")
# define genes of interests
lab_pnp_ctrl <- list(
"mySC" = paste0("italic('", c("DCN", "TNXB", "COL1A1", "COL15A1", "CD53", "IL4R", "CD74"), "')"),
"nmSC" = paste0("italic('", c("IL10RA", "IL13RA1", "CSF2RA", "TGFBI"), "')"),
"repairSC" = paste0("italic('", c("GALR1", "TMEM47"), "')"),
"PC2" = paste0("italic('", c("MFAP5", "NLGN4Y", "PCDH11Y", "IFIT3", "OASL", "MX1"), "')")
)
# plot volcano plots of selected clusters
purrr::walk(
cluster_de,
function(cluster) {
print(volcanoPlot(
cluster = cluster,
input = de_pseudo_pnp_ctrl,
FCcutoff = 2,
condition1 = "PNP",
condition2 = "CTRL",
selectLab = lab_pnp_ctrl[[cluster]]
))
}
)Figure 4
Abundance of clusters per PNP subtype (Figure 4A)
options(timeout = 3600)
if (!file.exists("abundance_main_clusters.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"abundanance_main_clusters.qs"
)
}
abundance_main_clusters <- qread("abundance_main_clusters.qs")
abundance_main_clusters |>
ggplot() +
geom_col(
aes(x = type, y = count, fill = cell),
color = "black",
linewidth = 0.1,
position = "fill"
) +
scale_fill_manual(values = umap_figure@misc$cluster_col) +
guides(fill = guide_legend(title = NULL)) +
theme_classic() +
ylab("Proportion of cells") +
xlab("") +
theme(axis.text.x = element_text(
angle = 90,
hjust = 1, vjust = 0.3
))Propeller abundance of PNP subtypes (Figure 4B)
options(timeout = 3600)
if (!file.exists("propeller_PNP_subtypes_main.qs")) {
download.file(
"https://zenodo.org/records/14226219/files/umap_figure.qs?download=1",
"propeller_PNP_subtypes_main.qs"
)
}
abundance_main_clusters <- qread("propeller_PNP_subtypes_main.qs")
invisible(
lapply(
c("VN", "CIDP", "CIAP"),
function(condition) {
print(dotplotPropeller(
abundance_main_clusters[[condition]],
color = umap_figure@misc$cluster_col,
title = paste0("CTRL vs ", condition, " main clusters")
))
}
)
)Session info
session_info()─ Session info ───────────────────────────────────────────────────────────────
setting value
version R version 4.3.1 (2023-06-16)
os Ubuntu 24.04.1 LTS
system x86_64, linux-gnu
ui X11
language (EN)
collate en_US.UTF-8
ctype en_US.UTF-8
tz Europe/Berlin
date 2024-12-19
pandoc 3.1.3 @ /usr/bin/ (via rmarkdown)
─ Packages ───────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
abind 1.4-5 2016-07-21 [1] RSPM (R 4.3.0)
Augur 1.0.3 2024-04-05 [1] Github (neurorestore/Augur@fa5d837)
backports 1.4.1 2021-12-13 [1] RSPM (R 4.3.0)
beachmat 2.18.0 2023-10-24 [1] Bioconductor
beeswarm 0.4.0 2021-06-01 [1] RSPM (R 4.3.0)
Biobase 2.62.0 2023-10-24 [1] Bioconductor
BiocGenerics 0.48.1 2023-11-01 [1] Bioconductor
BiocManager 1.30.22 2023-08-08 [1] RSPM (R 4.3.0)
BiocNeighbors 1.20.2 2024-01-07 [1] Bioconductor 3.18 (R 4.3.1)
BiocParallel 1.36.0 2023-10-24 [1] Bioconductor
BiocSingular 1.18.0 2023-10-24 [1] Bioconductor
bitops 1.0-7 2021-04-24 [1] RSPM (R 4.3.0)
broom 1.0.5 2023-06-09 [1] RSPM (R 4.3.0)
car 3.1-2 2023-03-30 [1] RSPM (R 4.3.0)
carData 3.0-5 2022-01-06 [1] RSPM (R 4.3.0)
class 7.3-22 2023-05-03 [1] RSPM (R 4.3.0)
cli 3.6.2 2023-12-11 [1] RSPM (R 4.3.0)
cluster 2.1.6 2023-12-01 [1] RSPM (R 4.3.0)
codetools 0.2-19 2023-02-01 [1] CRAN (R 4.2.2)
colorspace 2.1-0 2023-01-23 [1] RSPM (R 4.3.0)
cowplot 1.1.2 2023-12-15 [1] RSPM (R 4.3.0)
crayon 1.5.2 2022-09-29 [1] RSPM (R 4.3.0)
data.table 1.14.10 2023-12-08 [1] RSPM (R 4.3.0)
DelayedArray 0.28.0 2023-10-24 [1] Bioconductor
DelayedMatrixStats 1.24.0 2023-10-24 [1] Bioconductor
deldir 2.0-2 2023-11-23 [1] RSPM (R 4.3.0)
dichromat 2.0-0.1 2022-05-02 [1] RSPM (R 4.3.0)
digest 0.6.34 2024-01-11 [1] RSPM (R 4.3.0)
dotCall64 1.1-1 2023-11-28 [1] RSPM (R 4.3.0)
dplyr * 1.1.4 2023-11-17 [1] RSPM (R 4.3.0)
edgeR 4.0.7 2024-01-12 [1] Bioconductor 3.18 (R 4.3.1)
ellipsis 0.3.2 2021-04-29 [1] RSPM (R 4.3.0)
EnhancedVolcano * 1.20.0 2023-10-24 [1] Bioconductor
evaluate 0.23 2023-11-01 [1] RSPM (R 4.3.0)
fansi 1.0.6 2023-12-08 [1] RSPM (R 4.3.0)
farver 2.1.1 2022-07-06 [1] RSPM (R 4.3.0)
fastDummies 1.7.3 2023-07-06 [1] RSPM (R 4.3.0)
fastmap 1.1.1 2023-02-24 [1] RSPM (R 4.3.0)
fitdistrplus 1.1-11 2023-04-25 [1] RSPM (R 4.3.0)
forcats * 1.0.0 2023-01-29 [1] RSPM (R 4.3.0)
furrr 0.3.1 2022-08-15 [1] RSPM (R 4.3.0)
future 1.33.1 2023-12-22 [1] RSPM (R 4.3.0)
future.apply 1.11.1 2023-12-21 [1] RSPM (R 4.3.0)
generics 0.1.3 2022-07-05 [1] RSPM (R 4.3.0)
GenomeInfoDb 1.38.5 2023-12-28 [1] Bioconductor 3.18 (R 4.3.1)
GenomeInfoDbData 1.2.11 2023-11-13 [1] Bioconductor
GenomicRanges 1.54.1 2023-10-29 [1] Bioconductor
ggbeeswarm 0.7.2 2023-04-29 [1] RSPM (R 4.3.0)
ggforce 0.4.1 2022-10-04 [1] RSPM (R 4.3.0)
ggplot2 * 3.5.1 2024-04-23 [1] RSPM (R 4.3.0)
ggpubr 0.6.0 2023-02-10 [1] RSPM (R 4.3.0)
ggraph 2.1.0 2022-10-09 [1] RSPM (R 4.3.0)
ggrepel * 0.9.5 2024-01-10 [1] RSPM (R 4.3.0)
ggridges 0.5.5 2023-12-15 [1] RSPM (R 4.3.0)
ggsignif 0.6.4 2022-10-13 [1] RSPM (R 4.3.0)
globals 0.16.2 2022-11-21 [1] RSPM (R 4.3.0)
glue 1.7.0 2024-01-09 [1] RSPM (R 4.3.0)
goftest 1.2-3 2021-10-07 [1] RSPM (R 4.3.0)
gower 1.0.1 2022-12-22 [1] RSPM (R 4.3.0)
graphlayouts 1.0.2 2023-11-03 [1] RSPM (R 4.3.0)
gridExtra 2.3 2017-09-09 [1] RSPM (R 4.3.0)
gtable 0.3.4 2023-08-21 [1] RSPM (R 4.3.0)
gtools 3.9.5 2023-11-20 [1] RSPM (R 4.3.0)
hardhat 1.3.0 2023-03-30 [1] RSPM (R 4.3.0)
htmltools 0.5.7 2023-11-03 [1] RSPM (R 4.3.0)
htmlwidgets 1.6.4 2023-12-06 [1] RSPM (R 4.3.0)
httpuv 1.6.13 2023-12-06 [1] RSPM (R 4.3.0)
httr 1.4.7 2023-08-15 [1] RSPM (R 4.3.0)
ica 1.0-3 2022-07-08 [1] RSPM (R 4.3.0)
igraph 1.6.0 2023-12-11 [1] RSPM (R 4.3.0)
ipred 0.9-14 2023-03-09 [1] RSPM (R 4.3.0)
IRanges 2.36.0 2023-10-24 [1] Bioconductor
irlba 2.3.5.1 2022-10-03 [1] RSPM (R 4.3.0)
jsonlite 1.8.8 2023-12-04 [1] RSPM (R 4.3.0)
KernSmooth 2.23-22 2023-07-10 [1] RSPM (R 4.3.0)
knitr 1.45 2023-10-30 [1] RSPM (R 4.3.0)
labeling 0.4.3 2023-08-29 [1] RSPM (R 4.3.0)
later 1.3.2 2023-12-06 [1] RSPM (R 4.3.0)
lattice 0.22-5 2023-10-24 [1] RSPM (R 4.3.0)
lava 1.7.3 2023-11-04 [1] RSPM (R 4.3.0)
lazyeval 0.2.2 2019-03-15 [1] RSPM (R 4.3.0)
leiden 0.4.3.1 2023-11-17 [1] RSPM (R 4.3.0)
lifecycle 1.0.4 2023-11-07 [1] RSPM (R 4.3.0)
limma 3.58.1 2023-10-31 [1] Bioconductor
listenv 0.9.0 2022-12-16 [1] RSPM (R 4.3.0)
lmtest 0.9-40 2022-03-21 [1] RSPM (R 4.3.0)
locfit 1.5-9.8 2023-06-11 [1] RSPM (R 4.3.0)
lubridate 1.9.3 2023-09-27 [1] RSPM (R 4.3.0)
magrittr 2.0.3 2022-03-30 [1] RSPM (R 4.3.0)
mapproj 1.2.11 2023-01-12 [1] RSPM (R 4.3.0)
maps 3.4.2 2023-12-15 [1] RSPM (R 4.3.0)
MASS 7.3-60 2023-05-04 [1] RSPM (R 4.3.0)
Matrix 1.6-5 2024-01-11 [1] RSPM (R 4.3.0)
MatrixGenerics 1.15.0 2024-04-05 [1] Github (Bioconductor/MatrixGenerics@ed066a2)
matrixStats 1.2.0 2023-12-11 [1] RSPM (R 4.3.0)
miloDE * 0.0.0.9000 2024-04-05 [1] Github (MarioniLab/milODE@3f825b9)
miloR 1.10.0 2023-10-24 [1] Bioconductor
mime 0.12 2021-09-28 [1] RSPM (R 4.3.0)
miniUI 0.1.1.1 2018-05-18 [1] RSPM (R 4.3.0)
munsell 0.5.0 2018-06-12 [1] RSPM (R 4.3.0)
nlme 3.1-164 2023-11-27 [1] RSPM (R 4.3.0)
nnet 7.3-19 2023-05-03 [1] RSPM (R 4.3.0)
pals 1.8 2023-08-23 [1] RSPM (R 4.3.0)
parallelly 1.36.0 2023-05-26 [1] RSPM (R 4.3.0)
parsnip 1.1.1 2023-08-17 [1] RSPM (R 4.3.0)
patchwork 1.2.0 2024-01-08 [1] RSPM (R 4.3.0)
pbapply 1.7-2 2023-06-27 [1] RSPM (R 4.3.0)
pbmcapply 1.5.1 2022-04-28 [1] RSPM (R 4.3.0)
pillar 1.9.0 2023-03-22 [1] RSPM (R 4.3.0)
pkgconfig 2.0.3 2019-09-22 [1] RSPM (R 4.3.0)
plotly 4.10.3 2023-10-21 [1] RSPM (R 4.3.0)
plyr 1.8.9 2023-10-02 [1] RSPM (R 4.3.0)
png 0.1-8 2022-11-29 [1] RSPM (R 4.3.0)
polyclip 1.10-6 2023-09-27 [1] RSPM (R 4.3.0)
prodlim 2023.08.28 2023-08-28 [1] RSPM (R 4.3.0)
progressr 0.14.0 2023-08-10 [1] RSPM (R 4.3.0)
promises 1.2.1 2023-08-10 [1] RSPM (R 4.3.0)
purrr 1.0.2 2023-08-10 [1] RSPM (R 4.3.0)
qs * 0.25.7 2023-12-06 [1] RSPM (R 4.3.0)
R6 2.5.1 2021-08-19 [1] RSPM (R 4.3.0)
randomForest 4.7-1.1 2022-05-23 [1] RSPM (R 4.3.0)
RANN 2.6.1 2019-01-08 [1] RSPM (R 4.3.0)
RApiSerialize 0.1.2 2022-08-25 [1] RSPM (R 4.3.0)
RColorBrewer 1.1-3 2022-04-03 [1] RSPM (R 4.3.0)
Rcpp 1.0.12 2024-01-09 [1] RSPM (R 4.3.0)
RcppAnnoy 0.0.21 2023-07-02 [1] RSPM (R 4.3.0)
RcppGreedySetCover 0.1.0 2018-01-24 [1] RSPM (R 4.3.0)
RcppHNSW 0.5.0 2023-09-19 [1] RSPM (R 4.3.0)
RcppParallel 5.1.7 2023-02-27 [1] RSPM (R 4.3.0)
RCurl 1.98-1.14 2024-01-09 [1] RSPM (R 4.3.0)
recipes 1.0.9 2023-12-13 [1] RSPM (R 4.3.0)
renv 1.0.3 2023-09-19 [1] RSPM (R 4.3.0)
reshape2 1.4.4 2020-04-09 [1] RSPM (R 4.3.0)
reticulate 1.34.0 2023-10-12 [1] RSPM (R 4.3.0)
rlang 1.1.3 2024-01-10 [1] RSPM (R 4.3.0)
rmarkdown 2.25 2023-09-18 [1] RSPM (R 4.3.0)
ROCR 1.0-11 2020-05-02 [1] RSPM (R 4.3.0)
rpart 4.1.23 2023-12-05 [1] RSPM (R 4.3.0)
rsample 1.2.0 2023-08-23 [1] RSPM (R 4.3.0)
RSpectra 0.16-1 2022-04-24 [1] RSPM (R 4.3.0)
rstatix 0.7.2 2023-02-01 [1] RSPM (R 4.3.0)
rsvd 1.0.5 2021-04-16 [1] RSPM (R 4.3.0)
Rtsne 0.17 2023-12-07 [1] RSPM (R 4.3.0)
S4Arrays 1.2.0 2023-10-24 [1] Bioconductor
S4Vectors 0.40.2 2023-11-23 [1] Bioconductor 3.18 (R 4.3.1)
ScaledMatrix 1.10.0 2023-10-24 [1] Bioconductor
scales 1.3.0 2023-11-28 [1] RSPM (R 4.3.0)
scattermore 1.2 2023-06-12 [1] RSPM (R 4.3.0)
scMisc * 0.3.0 2024-03-24 [1] Github (mihem/scMisc@6b1e979)
sctransform 0.4.1 2023-10-19 [1] RSPM (R 4.3.0)
scuttle 1.12.0 2023-10-24 [1] Bioconductor
sessioninfo * 1.2.2 2021-12-06 [1] RSPM (R 4.3.0)
Seurat * 5.0.1 2024-01-14 [1] Github (fentouxungui/seurat@d2d8d60)
SeuratObject * 5.0.1 2023-11-17 [1] RSPM (R 4.3.0)
shiny 1.8.0 2023-11-17 [1] RSPM (R 4.3.0)
SingleCellExperiment 1.24.0 2023-10-24 [1] Bioconductor
sp * 2.1-2 2023-11-26 [1] RSPM (R 4.3.0)
spam 2.10-0 2023-10-23 [1] RSPM (R 4.3.0)
SparseArray 1.2.3 2023-12-25 [1] Bioconductor 3.18 (R 4.3.1)
sparseMatrixStats 1.13.4 2024-04-05 [1] Github (const-ae/sparseMatrixStats@4c6e814)
spatstat.data 3.0-3 2023-10-24 [1] RSPM (R 4.3.0)
spatstat.explore 3.2-5 2023-10-22 [1] RSPM (R 4.3.0)
spatstat.geom 3.2-7 2023-10-20 [1] RSPM (R 4.3.0)
spatstat.random 3.2-2 2023-11-29 [1] RSPM (R 4.3.0)
spatstat.sparse 3.0-3 2023-10-24 [1] RSPM (R 4.3.0)
spatstat.utils 3.0-4 2023-10-24 [1] RSPM (R 4.3.0)
statmod 1.5.0 2023-01-06 [1] RSPM (R 4.3.0)
stringfish 0.16.0 2023-11-28 [1] RSPM (R 4.3.0)
stringi 1.8.3 2023-12-11 [1] RSPM (R 4.3.0)
stringr 1.5.1 2023-11-14 [1] RSPM (R 4.3.0)
SummarizedExperiment 1.32.0 2023-10-24 [1] Bioconductor
survival 3.5-7 2023-08-14 [1] RSPM (R 4.3.0)
tensor 1.5 2012-05-05 [1] RSPM (R 4.3.0)
tester 0.1.7 2013-11-14 [1] RSPM (R 4.3.0)
tibble 3.2.1 2023-03-20 [1] RSPM (R 4.3.0)
tidygraph 1.3.0 2023-12-18 [1] RSPM (R 4.3.0)
tidyr 1.3.0 2023-01-24 [1] RSPM (R 4.3.0)
tidyselect 1.2.0 2022-10-10 [1] RSPM (R 4.3.0)
timechange 0.2.0 2023-01-11 [1] RSPM (R 4.3.0)
timeDate 4032.109 2023-12-14 [1] RSPM (R 4.3.0)
tweenr 2.0.2 2022-09-06 [1] RSPM (R 4.3.0)
utf8 1.2.4 2023-10-22 [1] RSPM (R 4.3.0)
uwot 0.1.16 2023-06-29 [1] RSPM (R 4.3.0)
vctrs 0.6.5 2023-12-01 [1] RSPM (R 4.3.0)
vipor 0.4.7 2023-12-18 [1] RSPM (R 4.3.0)
viridis 0.6.4 2023-07-22 [1] RSPM (R 4.3.0)
viridisLite 0.4.2 2023-05-02 [1] RSPM (R 4.3.0)
withr 2.5.2 2023-10-30 [1] RSPM (R 4.3.0)
xfun 0.41 2023-11-01 [1] RSPM (R 4.3.0)
xtable 1.8-4 2019-04-21 [1] RSPM (R 4.3.0)
XVector 0.42.0 2023-10-24 [1] Bioconductor
yaml 2.3.8 2023-12-11 [1] RSPM (R 4.3.0)
yardstick 1.2.0 2023-04-21 [1] RSPM (R 4.3.0)
zlibbioc 1.48.0 2023-10-24 [1] Bioconductor
zoo 1.8-12 2023-04-13 [1] RSPM (R 4.3.0)
[1] /home/mischko/Documents/beruf/forschung/seed/sn_sural_2023_10/renv/library/R-4.3/x86_64-pc-linux-gnu
[2] /home/mischko/.cache/R/renv/sandbox/R-4.3/x86_64-pc-linux-gnu/5cd49154
──────────────────────────────────────────────────────────────────────────────